<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <title>Review Wizard Status Report for April 2006</title>
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
  <link rel="icon" href="/favicon.ico" type="image/ico" />
  <link rel="stylesheet" type="text/css" href=
  "../style-v2/section-development.css" />
  <!--[if IE]> <style type="text/css"> body { behavior: url(../style-v2/csshover.htc); } </style> <![endif]-->
</head><!--
Note: Editing website content is documented at:
https://www.boost.org/development/website_updating.html
-->

<body>
  <div id="heading">
    <!--#include virtual="/common/heading.html" -->
  </div>

  <div id="body">
    <div id="body-inner">
      <div id="content">
        <div class="section" id="intro">
          <div class="section-0">
            <div class="section-title">
              <h1>Review Wizard Status Report for April 2006</h1>
            </div>

            <div class="section-body">
              <h2><a name="news" id="news"></a>News</h2>

              <p>April 1, 2006 -- The "Promotion Traits" Review Begins
              (Fast-Track) Proposal to add promote, integral_promotion and
              floating_point_promotion class templates to type_traits
              library.</p>

              <p>April 6, 2006 -- The "Function Types" Review Begins
              (Fast-Track) This library provides a metaprogramming facility
              to classify, decompose and synthesize function-, function
              pointer-, function reference- and member function pointer
              types.</p>

              <p>March 22, 2006 -- Asio Accepted Announcement: <a class=
              "reference" href=
              "https://lists.boost.org/Archives/boost/2006/03/102287.php">https://lists.boost.org/Archives/boost/2006/03/102287.php</a></p>

              <p>February 17, 2006 - Shared Memory Library Accepted
              Announcement: <a class="reference" href=
              "https://lists.boost.org/boost-announce/2006/02/0083.php">https://lists.boost.org/boost-announce/2006/02/0083.php</a></p>

              <p>February 5, 2006 - Fixed String Library Rejected
              Announcement: <a class="reference" href=
              "https://lists.boost.org/boost-announce/2006/02/0081.php">https://lists.boost.org/boost-announce/2006/02/0081.php</a></p>

              <p>We need experienced review managers. Please take a look at
              the list of libraries in need of managers and check out their
              descriptions. If you can serve as review manager for any of
              them, email Ron Garcia or Tom Brinkman "garcia at cs dot
              indiana dot edu" and "reportbase at gmail dot com"
              respectively.</p>

              <p>A link to this report will be posted to www.boost.org. If
              you would like us to make any modifications or additions to
              this report before we do that, please email Ron or Tom.</p>

              <p>If you're library author and plan on submitting a library
              for review in the next 3-6 months, send Ron or Tom a short
              description of your library and we'll add it to the Libraries
              Under Construction below. We know that there are many libaries
              that are near completion, but we have hard time keeping track
              all of them. Please keep us informed about your progress.</p>

              <h2><a name="review-queue" id="review-queue"></a>Review
              Queue</h2>

              <ul class="simple">
                <li>Promotion Traits - April 1, 2006 (fast-track)</li>

                <li>Function Types - April 6, 2006 (fast-track)</li>

                <li>Fusion</li>

                <li>Pimpl Pointer</li>

                <li>Property Tree</li>

                <li>Physical Quantities System</li>

                <li>Intrusive Containers</li>
              </ul>
              <hr class="docutils" />

              <h3><a name="function-types-mini-re-review" id=
              "function-types-mini-re-review">Function Types
              (mini-re-review)</a></h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Tobias Schwinger</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Tom Brinkman</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://boost-sandbox.sourceforge.net/vault/">http://boost-sandbox.sourceforge.net/vault/</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">
                      <p class="first">This library provides a
                      metaprogramming facility to classify, decompose and
                      synthesize function-, function pointer-, function
                      reference- and member function pointer types. For the
                      purpose of this documentation, these types are
                      collectively referred to as function types (this
                      differs from the standard definition and redefines the
                      term from a programmer's perspective to refer to the
                      most common types that involve functions).</p>

                      <p>The classes introduced by this library shall conform
                      to the concepts of the Boost Metaprogramming library
                      (MPL).</p>

                      <dl class="docutils">
                        <dt>The Function Types library enables the user
                        to:</dt>

                        <dd>
                          <ul class="first last simple">
                            <li>test an arbitrary type for being a function
                            type of specified kind,</li>

                            <li>inspect properties of function types,</li>

                            <li>view and modify sub types of an encapsulated
                            function type with MPL Sequence operations,
                            and</li>

                            <li>synthesize function types.</li>
                          </ul>
                        </dd>
                      </dl>

                      <p class="last">This library supports variadic
                      functions and can be configured to support non-default
                      calling conventions.</p>
                    </td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="promotion-traits" id=
              "promotion-traits"></a>Promotion Traits</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Alexander Nasonov</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Tobias Schwinger</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://cpp-experiment.sourceforge.net/promote-20050917.tar.gz">
                    http://cpp-experiment.sourceforge.net/promote-20050917.tar.gz</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">
                      <p class="first">Proposal to add promote,
                      integral_promotion and floating_point_promotion class
                      templates to type_traits library.</p>

                      <p>Alexander tried it on different compilers with
                      various success: GNU/Linux (gentoo-hardened): gcc 3.3
                      and 3.4, Intel 7, 8 and 9 Windows: VC7 free compiler
                      Sparc Solaris: Sun C++ 5.3 and 5.7</p>

                      <p class="last">See comments at the beginning of
                      promote_enum_test.cpp for what is broken.</p>
                    </td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="intrusive-containers" id=
              "intrusive-containers"></a>Intrusive Containers</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Olaf Krzikalla</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Thorsten Ottosen</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://people.freenet.de/turtle++/intrusive.zip">http://people.freenet.de/turtle++/intrusive.zip</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">While intrusive containers were
                    and are widely used in C, they became more and more
                    forgotten in the C++-world due to the presence of the
                    standard containers, which don't support intrusive
                    techniques. Boost.Intrusive not only reintroduces this
                    technique to C++, but also encapsulates the
                    implementation in STL-like interfaces. Hence anyone
                    familiar with standard containers can use intrusive
                    containers with ease.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="fusion" id="fusion"></a>Fusion</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Joel de Guzman</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Ron Garcia</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://spirit.sourceforge.net/dl_more/fusion_v2/">http://spirit.sourceforge.net/dl_more/fusion_v2/</a>
                    <a class="reference" href=
                    "http://spirit.sourceforge.net/dl_more/fusion_v2.zip">http://spirit.sourceforge.net/dl_more/fusion_v2.zip</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">
                      <p class="first">Fusion is a library of heterogenous
                      containers and views and algorithms. A set of
                      heterogenous containers (vector, list, set and map) is
                      provided out of the box along with view classes that
                      present various composable views over the data. The
                      containers and views follow a common sequence concept
                      with an underlying iterator concept that binds it all
                      together, suitably making the algorithms fully generic
                      over all sequence types.</p>

                      <p class="last">The architecture is somewhat modeled
                      after MPL which in turn is modeled after STL. It is
                      code-named "fusion" because the library is the "fusion"
                      of compile time metaprogramming with runtime
                      programming.</p>
                    </td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="pimpl-pointer" id="pimpl-pointer"></a>Pimpl
              Pointer</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Asger Mangaard</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Need Volunteer</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body">Boost Sandbox (<a class=
                    "reference" href=
                    "http://boost-consulting.com/vault/">http://boost-consulting.com/vault/</a>)
                    under pimpl_ptr.</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">The pimpl idiom is widely used to
                    reduce compile times and disable code coupling. It does
                    so by moving private parts of a class from the .hpp file
                    to the .cpp file. However, it's implementation can be
                    tricky, and with many pitfalls (especially regarding
                    memory management). The pimpl_ptr library is a single
                    header file, implementing a special policy based smart
                    pointer to greately ease the implementation of the pimpl
                    idiom.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="property-tree" id="property-tree"></a>Property
              Tree</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Marcin Kalicinski</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Need Volunteer</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body">Boost Sandbox Vault -
                    property_tree_rev4.zip <a class="reference" href=
                    "http://kaalus.atspace.com/ptree">http://kaalus.atspace.com/ptree</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">Property tree is a data structure
                    - a tree of (key, value) pairs. It differs from its
                    cousin, "usual" property map, because it is hierarchical,
                    not linear. Thus, it is more like a minimalistic Document
                    Object Model, but not bound to any specific file format.
                    It can store contents of XML files, windows registry,
                    JSON files, INI files, even command line parameters. The
                    library contains parsers for all these formats, and
                    more.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="physical-quantities-system" id=
              "physical-quantities-system"></a>Physical Quantities
              System</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Andy Little</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Need Volunteer</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://tinyurl.com/7m5l8">http://tinyurl.com/7m5l8</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">PQS (Physical Quantities System)
                    is used for modelling physical-quantities in C++
                    programs. The advantages over using built-in types in the
                    role include: trapping errors in dimensional analysis,
                    detailed semantic specifications for reliable and
                    repeatable conversions between units and
                    self-documentation of source code. PQS is based around
                    the principles and guidelines of the International System
                    of Units (SI). The library predefines a large number of
                    quantities, physical and maths constants using a common
                    syntax. The library also includes (or will soon include)
                    classes for manipulating quantities algebraically, for
                    example angles (radians, steradians,
                    degrees,minutes,seconds) and vectors, matrices and
                    quaternions for more advanced modelling of physical
                    systems.</td>
                  </tr>
                </tbody>
              </table>

              <h2><a name="libraries-under-development" id=
              "libraries-under-development"></a>Libraries under
              development</h2>

              <p>Geometry Library - Author - Andy Little (?)</p>

              <p>C2_functions Library - Author - Marcus Mendenhall</p>

              <p>Please let us know of any libraries you are currently
              developing that you intend to submit for review.</p>
            </div>
          </div>
        </div>
      </div>

      <div id="sidebar">
        <!--#include virtual="/common/sidebar-common.html" -->
        <!--#include virtual="/common/sidebar-development.html" -->
      </div>

      <div class="clear"></div>
    </div>
  </div>

  <div id="footer">
    <div id="footer-left">
      <div id="revised">
        <p>Revised $Date$</p>
      </div>

      <div id="copyright"></div>
      <!--#include virtual="/common/footer-license.html" -->
    </div>

    <div id="footer-right">
      <!--#include virtual="/common/footer-banners.html" -->
    </div>

    <div class="clear"></div>
  </div>
</body>
</html>
